Remote control interference avoidance

ABSTRACT

Computer readable media, methods and apparatuses may be configured for determining a rate of signal pulses transmitted by a device and a transmission interval occurring between a first of the signal pulses and a second of the signal pulses, detecting selection of a command by a user, and transmitting at least a portion of the command during the transmission interval.

BACKGROUND

Three dimensional (3D) televisions may produce a three dimensional (3D)image using one of two methods. Passive 3D televisions present asequence of anaglyph images, and a user wears a pair of glasses eachwith a different colored lens, typically red and blue, to provide theillusion of depth. Active 3D televisions present a video signal that isa composite of two image sequences: a left eye image sequence and aright eye image sequence. Active 3D televisions send out a signal thatis received by a pair of glasses, worn by a viewer, to synchronizeshuttering of the lenses so that each eye may view only its intendedsequence of images. The signal, however, may interfere with otherdevices, such as a remote control, that use similar signalingtechnology.

Further, some remote controls may transmit several signalingtechnologies, such as infrared and radio frequency (RF), whencommunicating with a television. As such, infrared (IR) transmissionsfrom active 3D televisions may interfere with infrared transmissions bya remote control.

SUMMARY

The following presents a simplified summary in order to provide a basicunderstanding of some aspects as described herein. The summary is not anextensive overview of all aspects. It is neither intended to identifykey or critical elements nor to delineate the scope of the presentdisclosure. The following summary merely presents various exampleconcepts in a simplified form as a prelude to the more detaileddescription below.

According to some aspects, computer readable media, methods andapparatuses may be configured for determining a rate of signal pulsestransmitted by a device and a transmission interval occurring between afirst of the signal pulses and a second of the signal pulses, detectingselection of a command by a user, and transmitting at least a portion ofthe command during the transmission interval.

According to some aspects, computer readable media, methods andapparatuses may be configured for transmitting, by a display device,signal pulses at a pulse rate corresponding to a frame rate of a videoprogram, transmitting, to a remote control, a message specifying thepulse rate and a time duration of a transmission interval between a pairof the signal pulses, and receiving, from the remote control, a commandsignal during the transmission interval.

According to some aspects, computer readable media, methods andapparatuses may be configured for detecting, by a device, a commandpacket sent by a remote control, determining that the command packetcomprises an end sentinel followed by an identifier data sequence thatidentifies an alternative signaling frequency and comprises remotecontrol address data of the remote control, causing transmission of apairing request comprising the remote control address data and deviceaddress data of the device, and receiving a pairing response messagefrom the remote control to establish a communication session with theremote control using the alternative signaling frequency.

These and other aspects of the disclosure will be apparent uponconsideration of the following detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present disclosure and thepotential advantages of various aspects described herein may be acquiredby referring to the following description in consideration of theaccompanying drawings, in which like reference numbers indicate likefeatures, and wherein:

FIG. 1 illustrates a functional block diagram of a system for reducinginterference between a 3D display device, a 3D viewing device, and aremote control in accordance with an aspect of the disclosure.

FIG. 2 illustrates an example timing diagram for infrared (IR) pulsesand guard bands in accordance with an aspect of the disclosure.

FIG. 3 illustrates an example of fragmenting a command packet inaccordance with an aspect of the disclosure.

FIG. 4 illustrates an example of determining a position of a 3D displaydevice relative to glasses in accordance with an aspect of thedisclosure.

FIG. 5 illustrates an example command packet including an identifierdata sequence in accordance with an aspect of the disclosure.

FIG. 6 illustrates example functional blocks in accordance with anaspect of the disclosure.

FIG. 7 illustrates an example flow diagram of a method for transmittingduring a transmission interval between transmissions of first and secondsignal pulses in accordance with an aspect of the disclosure.

FIG. 8 illustrates an example flow diagram of a method for establishinga communication session with a device in accordance with an aspect ofthe disclosure.

FIG. 9 illustrates an example flow diagram of a method for establishinga communication session with a remote control by a device in accordancewith an aspect of the disclosure.

FIG. 10 illustrates an example flow diagram of a method for establishinga communication session in response to communication of an unpairedmessage in accordance with an aspect of the disclosure.

DETAILED DESCRIPTION

FIG. 1 illustrates a functional block diagram of a system for reducinginterference (e.g., infrared interference) between a display device,such as a 3D television, a 3D viewing device, such as headgear oreyeglasses, and a remote control for the display device and/or otherdevice. The system 100 may include a 3D display device 102 (or any otherdisplay device such as a television or mobile device) having atransmitter 104 (e.g., IR transmitter) and a receiver 106 (e.g., an IRreceiver), a pair of 3D eyeglasses 108 (or another type of 3D viewingdevice), and a remote control 110. The 3D display device 102 may be anydisplay device or associated content rendering device. The 3D glasses108 may be any viewing device or another device receiving transmissionsfrom the display device 102. Although embodiments may be described usinginfrared technology, the disclosure is applicable to other signalingtechnologies. When presenting a video in 3D, the 3D display device 102may display a video signal that is a composite of two image sequences: aleft eye image sequence and a right eye image sequence. The 3D displaydevice 102 may alternate between displaying an image from the left eyeimage sequence and an image from the right eye image sequence at aparticular frame rate.

The 3D display device 102 may cause the infrared transmitter 104 tocommunicate an infrared (IR) signal pulse at the frame rate to informthe 3D viewing device 108 of the frame rate. The transmitter may, forexample, transmit in multiple directions (e.g., just towards glasses108, and/or in other directions). The infrared transmitter 104 may alsobe referred to as an infrared blaster. The glasses 108 may have a clockand may synchronize the clock to the frame rate. Based on the clock, theglasses 108 may control shuttering of the left and right lens. When theglasses 108 are worn by a viewer, the left lens may cover the viewer'sleft eye and the right lens may cover the viewer's right eye. The twolenses may have unobstructed and obstructed states. When viewing 3Dvideo, the glasses 108 may cause one of the lenses to be in theunobstructed state and the other to be in the obstructed state, and thenalternate which lens is obstructed at the frame rate.

The shuttering may have a 50% duty cycle, where a left lens isunobstructed for 50% of the time and a right lens is unobstructed forthe remainder of the 50% of the time. The shuttering may occur multipletimes per second, thereby permitting a left eye of the viewer to onlysee the left eye image sequence, and the right eye to only see the righteye image sequence. The IR transmitter 104, however, may interfere withother devices that use infrared transmission, such as the remote control110. Or, if transmitter 104 uses different types of signals, it mayinterfere with other devices that may be affected by such a signal.

Referring again to FIG. 1, the interference between transmissions by thetransmitter 104 and the remote control 110 may be reduced, in accordancewith example embodiments described below. For a first option, the remotecontrol 110 may detect a timing of signal pulses emitted by thetransmitter 104, and transmit only in the gaps between the signalpulses. In a second option, the 3D display device 102 may inform theremote control 110 of time periods to transmit between transmission ofsignal pulses by the transmitter 104. In a third option, the transmitter104 may be an array of transmitters and the 3D display device 102 maycontrol the directionality of the array so that signal pulses are onlysent in the direction of the glasses 108, and not in other directions.In a fourth option, the 3D display device 102 may have a pulse rate thatis modifiable in response to a signal from the remote control 110. Eachof these and other options is discussed below in further detail.

Referring to the first option for reducing interference (e.g., infraredinterference), the remote control 110 may include a sensor 112 (e.g., anIR sensor) to detect a timing of signal pulses (e.g., IR pulses) sent bythe transmitter 104. The remote control 110 may detect a frequency ofthe signal pulses, and transmit in a time interval between each signalpulse. For example, the sensor 112 of the remote control 110 may detectthat IR pulses are transmitted from the display device's transmitter 104twelve times per second, and may transmit in a time interval betweeneach pulse. The remote control 110 may also determine a guard band,which may be a certain time interval before and after each signal pulse,and may avoid transmitting during the guard band as well.

FIG. 2 illustrates an example timing diagram for signal pulses and guardbands. The display device's transmitter 104 may transmit the signalpulses at intervals of Tp seconds apart. The guard band may be a timeinterval occurring before and/or after the each of the signal pulses.Each guard band may be an independent time interval situated on eitherside of each signal pulse. The remote control 110 may avoid transmittingduring each pulse and guard band interval (e.g., the time period betweenTp−Δt and Tp+Δt for the first IR pulse), and instead transmit during atransmission interval which is a period of time occurring between theend of one guard band (or signal pulse if guard bands are not used) anda beginning of the next guard band (e.g., the time interval betweenTp+Δt and 2Tp−Δt between the first and second pulses).

When a user provides input selecting a command (e.g., actuating a buttonon a remote control 110 or selecting of an icon from a graphical userinterface displayed on the remote control 110), the remote control 110may determine (e.g., via an internal processor) whether a signal pulseand/or guard band is ongoing. If ongoing, the remote control 110 maybuffer the selected command until the end of the guard band and/orsignal pulse, and then transmit a command packet based on the selectedcommand during the transmission interval. If not ongoing, the remotecontrol 110 may determine whether the entire command packet may be sentbefore the beginning of a next guard band and/or of a next signal pulse.If sufficient time exists, the remote control 110 may send the commandpacket via IR or another signaling method.

If not, the remote control 110 may determine whether the command packetcan be fragmented and a fragment of the command packet can be sentbefore the beginning of a next guard band and/or next signaling pulse.For example, if a transmission interval has a duration of ten units oftime (e.g., milliseconds), there are four units of time before the startof the guard band, and a command requires eight units of time to send,the remote control 110 may fragment the command and send a firstfragment over the four units of time before the start of the guard bandand send a second fragment over a first four units of time of asubsequent transmission interval. If there is not enough time togenerate the fragment, the remote control 110 may buffer the commandpacket until the end of the guard band and/or signaling pulse and sendduring a subsequent transmission interval. Also, if the command packettakes longer to transmit than the entire transmission interval, theremote control 110 may fragment a payload of the command packet intomultiple smaller commands to permit transmission.

FIG. 3 illustrates an example of fragmenting a command packet. Thecommand packet 302 may be a bit sequence instructing the 3D displaydevice 102 to perform an operation. The command packet 302 may include apayload 308, a start sentinel 310, and an end sentinel 312. The payload308 may include a data sequence for an instruction to cause the 3Ddisplay device 102 to perform any type of operation. The operation maybe to change a channel or volume level, display a program guide, etc.The start sentinel 310 may be a data sequence informing the 3D displaydevice 102 of the beginning of the command packet 302. The end sentinel312 may be a data sequence informing the 3D display device 102 of theend of the command packet 302.

FIG. 3 illustrates an example where packet 302 is fragmented into twopayload fragments: first payload fragment 316 and second payloadfragment 318. Initially, the remote control 110 may divide the payload308 into two or more payload fragments. For each payload fragment, theremote control 110 may add a start sentinel 310, a header 314 and an endsentinel 312 to create a command fragment packet. The header 314 mayinclude sequencing information for the payload fragments so that the 3Ddisplay device 102 may reconstruct the payload 308 of the command packet302 from the command fragment packets 304 and 306 upon receipt. Forexample, the 3D display device 102 may process a group of packetsreceived from the remote control 110, determine that each of the packetscontains a fragment of a command, and reconstruct the command from thefragments.

Also, the remote control 110 and/or the 3D display device 102 mayconcatenate data of commands being sent to one another to reduce theamount of exchanged data. In an example, digital data being encoded suchthat a ‘1’ occurs during an interval when a signal pulse is transmittedand ‘0’ occurs during an interval when no pulse is being sent. For afirst message of ‘1001’ and a second message of ‘011011001,’ the lasttwo bits of the first message are the same as the first two bits of thesecond message (i.e., 01). Rather than sending ‘01’ twice, the remotecontrol 110 (and/or the 3D display device 102) may remove the secondinstance of ‘01’ and concatenate the two messages resulting in acombined message of ‘10011011001’ (i.e., ‘1001’ and ‘011011001’—initial‘01’ becomes ‘10011011001’). Hence, the combined message uses two lessbits than sending the first and second messages separately. Combiningmessages may require that the bits of each message are sent at the samerate, and may require precise timing on the transmit side and moreadvanced decoding on the receiving side.

In another aspect of the disclosure, referring again to FIG. 1, a secondoption to reduce interference is to have the 3D display device 102inform the remote control 110 when to transmit its signals in order toavoid interfering with the signal pulses of the transmitter 104. Forexample, the 3D display device 102 may begin transmitting signal pulsesat a rate corresponding to a frame rate of a video program. To informthe remote control 110 of the rate, the 3D display device 102 maygenerate a pulse time message specifying the pulse rate and a timeduration of the transmission interval between one or each consecutivepair of the signal pulses (e.g., 50 milliseconds). The 3D display devicemay then cause the transmitter 104 to transmit the pulse time message tothe remote control 110. The pulse time message may also specify a timeduration of each pulse and/or of each guard band, and whether a guardband precedes each of the pulses and/or follows each of the pulses. Theremote control 110 may transmit, as discussed above, during thetransmission intervals between the pulses and/or guard bands.

In another aspect of the disclosure, a third option to reduceinterference is to implement the transmitter 104 as an array ofdirectional transmitters that are spatially offset from one anotherarranged to transmit in different directions. Two or more transmittersof the array also may also be arranged to transmit in a same direction.The 3D display device 102 may cause only a subset of the array totransmit the signal pulse (e.g., IR pulse) so that signals (e.g., IRsignals) are only sent in the direction of the viewing device 108. The3D display device 102 may turn off the remaining transmitters in thearray that are not included in the subset. Line of sight infraredtransmissions exchanged between the 3D display device 102 and theviewing device 108 may be used to determine the position of the 3Ddisplay device 102 relative to the viewing device 108, an example ofwhich is described below with reference to FIG. 4.

In an example, the glasses 108 may include an IR transmitter 406 (and/oranother signal-type transmitter) located on the bridge or other locationthat would be in a light of sight of the 3D display device 102 when wornby a user to view 3D video displayed by the 3D display device 102. The3D display device 102 may define a coordinate system relative to the IRreceiver 106 to detect a direction and/or position of the IR signalreceived from the transmitter 406. For instance, the 3D display device102 may define x, y, and z coordinates in a Cartesian system. The IRreceiver 106 may determine an angle of arrival of an IR signal receivedfrom the IR transmitter 406. The 3D display device 102 may determine adirection/position 402 of the glasses 108 relative to the 3D displaydevice 102 based on the angle of arrival. The 3D display device 102 mayalso have a stereoscopic 3D camera to detect 3D motion to determine thedirection/position 402 of the glasses 108 relative to the 3D displaydevice 102. Also, the IR receiver 106 and the IR transmitter 104 may beoffset from one another, as shown in FIG. 4, and hence the IRtransmitter 104 may transmit in a direction 404 that differs from thedirection 402. The 3D display device 102 may determine the direction 404based on the direction of 402 using geometry and/or known relativelocations of 104 and 106.

Upon detecting the direction 402 (or direction 404), the 3D displaydevice 102 may identify a subset of the transmitters 104 of the arraythat are arranged to transmit in the direction 402 (or direction 404).The following describes transmission in the direction 402, but the 3Ddisplay device 102 may also transmit in the direction 404 if thetransmitters 104 are offset from the receiver 106. The transmissiondirection of the array may be somewhat askew compared to the direction402.

Below is an example of selecting a subset of the transmitters 104 fromthe array for transmission of the IR pulses. Other methods for selectingthe subset may also be used. In an example, the 3D display device 102may use two metrics to select a subset of the transmitters to include inthe array. The 3D display device 102 may use the first metric alone or acombination of the first and second metrics (e.g., use all of thetransmitters identified by either metric) to select the transmitters toinclude in the subset

For the first metric, the 3D display device 102 may select only thetransmitters 104 from the array for transmitting signal pulses that aresituated to transmit in a direction that is within a certain degree ofdifference relative to the direction 402 (e.g., any transmitter situatedto transmit within 15 degrees of the direction 402). The 3D displaydevice 102 may turn off the remaining transmitters 104 in the array notincluded in the subset.

In selecting the transmitters 104, the 3D display device 102 may comparethe direction in which of the transmitters 104 are situated to transmitrelative to the direction 402. Based on the comparison, the 3D displaydevice 102 may determine which transmitters 104 transmit in a directionthat is within the degree of difference relative to the direction 402.The 3D display device 102 may also list the transmitters 104 of thearray based on those having a smallest angle difference to a largestangle difference relative to direction 402.

The degree of difference may have a default value (e.g., within 25degrees of the direction 402) that may be adjusted based on, forexample, a distance between the 3D display device 102 and the glasses108 as well as on movement of the user wearing the glasses 108. Forinstance, the 3D display device 102 may calculate how long it takes toturn on a transmitter versus an average movement speed of a human toadjust the degree of difference. This calculation may account for adistance of the user from the 3D display device 102, which may reducethe default value for the degree of difference when the user is fartherfrom the 3D display device 102, and increase the default value when theuser is closer.

When closer to the 3D display device 102, the user may move acrossinfrared arcs more quickly than when farther away. When there is alarger degree of difference, the 3D display device 102 may include alarger number of transmitters 104 in the subset, which may reduce thelikelihood that there is a loss of communication with the glasses 108caused by quick movement of the user. Also, the 3D display device 102may include a larger number of transmitters in the subset to reduce thepossibility that the 3D display device 102 is unable to turn on anadditional transmitter from the array not included in the subset beforethe user is out of range.

When farther away, the 3D display device 102 may have more time to turnon an additional transmitter as it takes longer for a user to move outof range of a particular transmitter and/or of the transmitter subset.Using fewer transmitters in the subset may reduce the amount of IRinterference that would otherwise be caused by IR transmitterstransmitting in directions away from the user.

For the second metric, the 3D display device 102 may also include apredetermined number of transmitters in the subset that are adjacent tothe ones identified in the first metric. The second metric also mayspecify a minimum number of transmitters to include in the subset. Forexample, if the degree of difference relative to the direction 402determined in the first metric is 15 degrees and the IR transmitterscover 20 degrees, the 3D display device 102 may use the first metric toselect a first transmitter transmitting in a direction having a smallestdegree of difference when compared to the direction 402. Using thesecond metric, the 3D display device 102 may select a second transmitterhaving a next smallest difference and that is adjacent to the firsttransmitter in the array. The 3D display device 102 may include both thefirst transmitter and the second transmitter in the subset fortransmitting IR pulses, and may turn off the remaining transmitters ofthe array.

The 3D display device 102 may periodically receive signals from thetransmitter 406 to monitor changes to the direction/position of theglasses 108 relative to the 3D display device 102. The 3D display device102 may then update which of the subset of the IR transmitters in thearray may transmit based on the changed direction. The 3D display device102 may thus primarily transmit the IR pulses in the direction of theglasses 108, but not in other directions, thereby limiting an amount ofinfrared radiation for interference with the remote control 110.

Along with IR transmitters facing different directions, the array mayinclude IR transmitters having different intensities. The 3D displaydevice 102 may use IR transmitters having the least output power thathave satisfactory performance. For example, the glasses 108 maycommunicate an IR pulse or RF transmission to the 3D display device 102requesting an adjustment to the intensity. Initially, the glasses 108may make a measurement of a signal to noise (SNR) ratio. If the SNRratio is above a first threshold, the glasses 108 may request that the3D display device 102 decrease the intensity. If the SNR ratio is belowa second threshold that is lower than the first threshold, the glasses108 may request that the 3D display device 102 increase the intensity.In response to these requests, the 3D display device 102 may graduallyreduce or increase the intensity by fixed or variable amounts until oneor more sets of the glasses 108 requests an increase or decrease insignal power. Also, the glasses 108 may also request a predeterminedincrease or decrease in transmitter power. The predetermined increase ordecrease may be based on the SNR ratio.

A fourth option to reduce infrared interference is for the 3D displaydevice 102 to modify a rate of pulse transmission by the displaydevice's transmitter 104 in response to receiving a rate change requestfrom the remote control 110. Typically, the frame rate of a 3D programmay remain constant over a duration of a program. Once the glasses 108have synchronized its clock to the frame rate, the glasses 108 maymaintain shuttering of the lens at the frame rate even if one or moresignal pulses from the IR transmitter 104 are not detected whenexpected. After the glasses 108 have been initially synchronized, the 3Ddisplay device 102 may vary (e.g., reduce) the rate of the signal pulsestransmitted by the transmitter 104. For example, the 3D display device102 may reduce an IR pulse rate of the IR transmitter 104 by half, aquarter, an eighth, etc.

The remote control 110 may use the reduced signal pulse rate to increasethe amount of command packets sent to the 3D display device 102. Areduced signal pulse rate may be beneficial, for example, when theremote control 110 has to send a large number of command packets (e.g.,users presses and holds a channel up or volume up key causing the remotecontrol 110 to enter a turbo mode) during a relatively short period oftime to provide a satisfactory user experience. Because there are fewersignal pulses and optionally corresponding guard bands, the remotecontrol 110 may send a higher rate of command packets as there may be alonger time period between each signal pulse. The remote control 110 mayalso fragment fewer of the commands due to the longer time periods, thusreducing the amount of overhead (e.g., header 314 and end sentinel 312)due to avoiding fragmenting of the command packets.

In response to a key press, the remote control 110 may determine whetherto send a rate change request command to the 3D display device 102. Theremote control 110 may buffer unsent commands and compare a total datasize of the buffered commands to a threshold. If the total data sizeexceeds the threshold, the remote control 110 may send the rate changerequest to the 3D display device 102 to reduce the rate of signal pulsetransmissions by the transmitter 104. The rate change request may alsospecify the rate reduction. Additionally, the 3D display device 102 maysense that a certain percent of available remote control transmit timesare being used (e.g., 85%), and, in response, may automatically reducethe signal pulse rate.

The 3D display device 102 may then cause the transmitter 104 to send asignal pulse including a rate reduction message to inform the glasses108 of the rate reduction. Even though fewer pulses are transmitted, theglasses 108 may continue to use the received signal pulses to maintainclock synchronization to the frame rate. For example, if the reducedsignal pulse rate is a quarter of the frame rate, the glasses 108 maymaintain clock synchronicity such that every fourth shuttering of thelenses shutter corresponds to when a signal pulse is received. The 3Ddisplay device 102 optionally may cause the transmitter 104 tocommunicate a message to the remote control 110 confirming the ratereduction, adjusting the rate reduction, or denying the rate changerequest. In another example, the 3D display device 102 may automaticallyreduce the signal pulse rate upon receipt of the rate change request.

In response to receiving a rate reduction confirmation message or if therate reduction occurs automatically without acknowledgement by the 3Ddisplay device 102, the remote control 110 may begin transmitting duringthe increased duration of the transmission interval between the signalpulses. When the buffer of the remote control 110 is empty (or when thetotal data size is reduced a predetermined amount below the threshold),the remote control 110 may transmit a resume pulse rate command to the3D display device 102 to increase the rate of the signal pulses to theframe rate. Also, the 3D display device 102 may automatically increasethe rate of the signal pulses to the frame rate in response to notreceiving command packets from the remote control 110 within apredetermined amount of time or when less than a certain percentage ofavailable remote control transmit times are being used. The 3D displaydevice 102 may then inform the glasses 108 of resuming transmission ofthe signal pulses corresponding to the frame rate. The system 100therefore may reduce transmission interference.

In another example, the glasses 108 may include an RF transceiver forcommunicating with the 3D display device 102 instead of communicatingvia IR. To avoid RF interference, the glasses 108 may communicate withthe 3D display device 102 to determine synchronization data used forcommunication between the 3D display device 102 and the remote control110 or other RF devices (e.g., WiFi).

Another manner of eliminating infrared interference is to avoid infraredtransmission altogether. Some remote controls may use alternativetransmissions schemes, such as, for example, RF instead of IR, forcommunication with a television. Infrared transmission, however, is thepredominant transmission means and most RF-enabled remote controls maytransmit using both IR and RF. Conventionally, a user is manuallyrequired to key in data to cause a remote to transition fromtransmitting in IR to RF. This may be a cumbersome process for someusers.

To reduce the burden on the user, the system 100 may provide forautomatic transition between IR and RF modes of the remote control 110.In an example, the remote control 110 may be configured to communicatewith the 3D display device 102 using either infrared or radio frequencytransmissions, or other signaling mediums. The below discussion refersto the 3D display device, but is applicable to non-3D display devices orset top boxes coupled to a television. In an example, the 3D displaydevice 102 may communicate using one of three modes: (1) IR only; (2) IRand RF; and (3) RF only.

If the 3D display device 102 is enabled to communicate using IR but notRF, then the 3D display device 102 may receive command packets from theremote control 110 in response to button presses as with a conventionalIR-only remote control.

If the 3D display device 102 is configured to communicate using both IRand RF modes, then the 3D display device 102 may automatically cause theremote control 110 to transition from using IR transmissions to RFtransmissions, provided that the remote control 110 is RF-enabled. Toinform the 3D display device 102 of RF transmission capability, theremote control 110 may add an identifier data sequence 502 (e.g., byte)at the end of at least one of the command packets sent to the 3D displaydevice 102, as depicted in FIG. 5. The identifier data sequence 502 mayindicate that the remote control 110 supports communication using analternative signaling frequency (e.g., RF) and may include remotecontrol (RC) address data (e.g., a media access control [MAC] address)of the remote control 110. By placing the identifier data sequence 502at the end, legacy televisions that only use IR transmissions may alsoprocess the command packet 500. Legacy televisions may ignore theportion of the command packet 500 occurring after the end sentinel 312(e.g., the identifier data sequence 502) because it is not preceded by astart sentinel 310.

Upon receiving the command packet 500, the 3D display device 102 mayidentify the identifier data sequence 502 at the end. The 3D displaydevice 102 may respond by communicating a pairing request via RFtransmission. The pairing request may include the RC address data of theremote control and display device address data (e.g., MAC address) ofthe 3D display device 102. Including the RC address may inform theremote control 110 that the pairing request is intended for the remotecontrol 110, and not some other device.

The remote control 110 may respond to the pairing request bycommunicating a pairing response message via IR transmission. IRtransmission may be used to confirm line of sight between the remotecontrol 110 and the 3D display device 102. Requiring line of sight maybe a further type of authentication mechanism to prevent distant devicesfrom gaining control of the 3D display device 102. The remote control110 may also send the pairing response message via RF transmission. Forfurther authentication, the 3D display device 102 may displayinformation for a user to key into the remote control 110 prior to theremote control 110 sending the pairing response message to confirm thata user desires the pairing.

Once the display device and remote control address data has beenexchanged, the remote control 110 and the 3D display device 102 mayexchange keys to permit encryption of messages sent between them and toestablish a communication session using the alternative signalingfrequency (e.g., using RF). Thereafter, the remote control 110 and the3D display device 102 may cease communicating in IR and may onlytransmit in RF using the communication session.

The remote control 110 may still use IR, if desired even after pairing,but may no longer include the identifier data sequence 502 in thecommand packet 500. If the remote control 110 continues to transmit inIR, the 3D display device 102 may respond with an acknowledgment messageusing RF after each command packet is received or after a predeterminednumber of command packets have been received (e.g., acknowledge every2^(nd), 3^(rd), etc. command packet). The 3D display device 102 may alsorespond in IR based on a percent of available transmit time on the IRchannel (e.g., 15% or more of time is not being used). The 3D displaydevice 102 may also acknowledge a received command packet atpredetermined time intervals (e.g., during a 5 second interval thatoccurs every minute) to limit the length of time the remote control 110listens for acknowledgement message, thus saving battery power.

In another example, the 3D display device 102, rather than the remotecontrol 110, may initiate the pairing to establish a communicationsession for RF transmissions. In this example, the remote control 110may transmit the command packet 500 without the identifier data sequence502. Upon detecting the command packet 500, the 3D display device 102may transmit a pairing request including the display device address data(e.g., MAC address) of the 3D display device 102 via RF transmission. Ifa pairing response message is not received from the remote control 110,the 3D display device 102 may communicate the pairing request apredetermined number of times in response each command packet 500 or apredetermined number of command packets, for a predetermined amount oftime (e.g., during 5 minute time interval after receipt of a firstcommand packet) or periodically (e.g., every 10 seconds for the firstminute, and every minute thereafter, etc.). If the remote control 110does not respond, the 3D display device 102 may assume that the remotecontrol 110 does not have RF transmission capabilities.

If the pairing request is received, the remote control 110 may respondby communicating a pairing response message via IR transmission, asdiscussed above, that also includes the remote control address data.Line of sight and entry of information into the remote control 110 bythe user, as discussed above, may also be used. Once the display deviceand remove control address data has been exchanged, the remote control110 and the 3D display device 102 may exchange keys to permit encryptionof messages sent between them and establish a communication session forRF transmissions.

In another example, the remote control 110 may initiate pairing bysending out an RF discovery request to initiate pairing with atelevision that communicates using RF, but not IR, transmissions. Theremote control 110 may send the RF discovery request in response to auser pressing a particular button, periodically, with every buttonpress, every predetermined number of button presses, or when initiallysupplied with a power source (e.g., when a battery is first inserted).The 3D display device 102 may respond with a pairing response message toinitiate establishing a communication session for RF transmissions, asdiscussed above.

In a further example, the user may cause the 3D display device 102 thatcommunicates using RF, but not IR, to initiate pairing to establish acommunication session for RF transmissions. This example may savebattery power of the remote control 110 by not requiring periodictransmission of an RF discovery request when an RF enabled televisionmay not be within range. When the 3D display device 102 is first poweredon and is not yet paired with a remote control 110, the 3D displaydevice 102 may display instructions on screen for pairing with a remotecontrol 110. Remote control pairing instructions may also be printed ona back of the remote control 110 and included in the remote controlmanual. The user, for example, may key in a data sequence displayed bythe 3D display device 102 into the remote control 110. The remotecontrol 110 may transmit a pairing request including the data sequenceand the RC address data to the 3D display device 102. The 3D displaydevice 102 may respond with a pairing response message including displaydevice address data, and the 3D display device 102 and the remotecontrol 110 may establish a communication session for RF transmissions,as described above.

In a further example, the remote control 110 may broadcast an unpairedmessage via RF to signal to all RF-enabled 3D displays 102 that a RFremote is in range, but is not paired yet. The unpaired message may besent on multiple RF frequencies commonly used for communicating withRF-enabled televisions. The unpaired message may be an unacknowledgedbroadcast message, thus saving power as the remote control does notlisten for a response. The remote control 110 may send the unpairedmessage when the user presses a button to send a command via RF to anRF-enabled 3D display device 102.

One or more 3D displays 102 that receive the unpaired message may reactby displaying pairing instructions. The user, for example, may key in adata sequence displayed by the 3D display device 102 into the remotecontrol 110. The remote control 110 may transmit a pairing requestincluding the data sequence and the RC address data to the 3D displaydevice 102. The 3D display device 102 may respond with a pairingresponse message including the display device address data, and the 3Ddisplay device 102 and the remote control 110 may establish acommunication session for RF transmissions, as described above.

Any of the above-mentioned functional blocks, including the 3D displaydevice 102, glasses 108, and remote control 110, may each be implementedwith a processor and memory. The functional blocks may include hardwarethat may execute software and/or be configured in hardware to performspecific functions. The software may be stored on a non-transitorycomputer-readable medium or a memory in the form of computer-readableinstructions. A computer may read those computer-readable instructions,and in response perform various steps as defined by thosecomputer-readable instructions. Thus, any functions attributed to any ofthe functional blocks in the figures as described herein may beimplemented, for example, by reading and executing suchcomputer-readable instructions for performing those functions, and/or byany hardware subsystem (e.g., a processor) from which the computer iscomposed.

The term “computer-readable medium” as used herein includes not only asingle physical medium or single type of medium, but also a combinationof one or more physical media and/or types of media. Examples of acomputer-readable medium include, but are not limited to, one or morememories, hard drives, optical discs (such as CDs or DVDs), magneticdiscs, and magnetic tape drives. Such a computer-readable medium maystore computer-readable instructions (e.g., software) and/orcomputer-readable data (i.e., information that may or may not beexecutable). In the present example, a computer-readable medium (such asmemory) may be included in any one or more of the functional blocksshown in the figures and may store computer-executable instructionsand/or data used by any of those functional blocks. Alternatively oradditionally, such a computer-readable medium storing the data and/orsoftware may be physically separate from, yet accessible by, any of thefunctional blocks shown in the figures.

An example functional block diagram is shown in FIG. 6 and may includeprocessor 601, a communications interface 602, storage 603, and a userinterface 604. In this example, the computer-readable medium may beembodied by storage 603, and processor 601 may executecomputer-executable instructions stored by storage 603. Communicationsinterface 602 may provide for unidirectional or bidirectionalcommunications with any network or device external to that computer. Forexample, communications interface 602 as embodied in the 3D displaydevice 102 may provide communications between the 3D display device 102and the glasses 108. User interface 604 may allow for unidirectional orbidirectional information transfer with a human user using, for example,a display or a keyboard. Again, any of the functional blocks of thefigures may be implemented using the components shown in FIG. 6.

FIGS. 7-10 illustrate flow diagrams for implementing some or all of themethods discussed above. While discussed in terms of infrared (IR),these methods are applicable to transmission using any signalingtechniques that may experience interference.

Referring to FIG. 7, this figure illustrates an example flow diagram ofa method for transmitting during a transmission interval between firstand second signal pulses. The method may be implemented by the remotecontrol 110 and may begin at block 702. In block 702, the method mayinclude determining, by a remote control, a rate of signal pulsestransmitted by a device and a transmission interval occurring between afirst of the signal pulses and a second of the signal pulses. Forexample, the remote control 110 may receive a signal from the 3D displaydevice 102 specifying the rate of infrared pulses. In another example,the remote control 110 may detect a frequency of receipt of the signalpulses transmitted by the 3D display device 102 and may determine therate of the signal pulses based on the frequency. The remote control 110may also determine whether a guard band is positioned on either side ofeach pulse. In block 704, the method may include detecting, by theremote control, selection of a command by a user (e.g., a user's inputto change volume).

In block 706, the method may include transmitting at least a portion ofthe command during the transmission interval. In an example, the remotecontrol 110 may determine whether the entire command may be transmittedduring the transmission interval. If so, the remote control 110 maycause transmission (e.g., IR transmission) of the command in a commandpacket. If the remote control 110 determines that a time intervalrequired to transmit the command packet exceeds the transmissioninterval, the remote control 110 may fragment the command in at leasttwo command fragments. The remote control 110 may generate at least twocommand fragment packets and may cause infrared transmission of a firstof the command fragment packets during the transmission interval, andcause transmission of a second of the command fragment packets during asubsequent transmission interval. The command fragment packets may eachinclude a header that provides sequencing information for a first of thecommand fragments relative to a second of the command fragments topermit reconstruction of the command upon receipt. The method may thenend or return to block 702 or 704.

Referring to FIG. 8, this figure illustrates an example flow diagram ofa method for establishing a communication session with a device. Themethod may be implemented by the remote control 110 and may begin atblock 802. In block 802, the method may include detecting, by a remotecontrol, selection of a command. In block 804, the method may includegenerating, by the remote control, a command packet for the command. Thecommand packet may comprise an end sentinel and an identifier datasequence, wherein the identifier data sequence is located subsequent tothe end sentinel in the command packet and comprises remote controladdress data of the remote control. In block 806, the method may includecausing transmission (e.g., IR transmission) of the command packet to adevice.

In block 808, the method may include receiving, by the remote control, apairing request (e.g., sent via a radio frequency transmission)comprising the remote control address data and device address data. Inblock 810, the method may include causing transmission (e.g., IRtransmission) of a pairing response message to establish a communicationsession with the device. In an example, the remote control 110 mayprocess keyed in data prior to communicating the pairing responsemessage. In another example, the remote control 110 may exchange keyswith the device for encrypting messages sent as part of thecommunication session between the remote control and the device. In afurther example, subsequent to the establishing the communicationsession, the remote control 110 may communicate a command packet (e.g.,via infrared transmission) to the device and may process anacknowledgement sent by the device (e.g., via RF) in response to thecommand packet. The method may then end or return to any of thepreceding blocks.

Referring to FIG. 9, this figure illustrates an example flow diagram ofa method for establishing a communication session with a remote controlby a device. The method may be implemented by a display device, such as,for example, a television, a 3D display device 102, or a set top box,and may begin at block 902. In block 902, the method may includedetecting, by a device, a command packet sent (e.g., via infraredtransmission) by a remote control. In block 904, the method may includedetermining that the command packet comprises an end sentinel followedby an identifier data sequence that identifies an alternative signalingfrequency and comprises remote control address data of the remotecontrol.

In block 906, the method may include causing transmission (e.g., radiofrequency transmission) of a pairing request comprising the remotecontrol address data and device address data of the device. In block908, the method may include receiving a pairing response message fromthe remote control (e.g., via infrared) to establish a communicationsession with the remote control. In an example, the device may exchangekeys with the remote control 110 for encrypting messages to be sent aspart of the communication session established between the remote controland the device using the alternative signaling frequency. In anotherexample, subsequent to the establishing the communication session, thedevice may receive a command packet (e.g., via infrared) from the remotecontrol 110 and may respond with an acknowledgement sent via RF. Themethod may then end, or return to one of the previous blocks.

Referring to FIG. 10, this figure illustrates an example flow diagram ofa method for establishing a communication session in response tocommunication of an unpaired message. The method may be implemented by aremote control 110 and may begin at block 1002. In block 1002, themethod may include causing transmission, by a remote control, of anunpaired message. For example, the remote control 110 may periodicallycause transmission of the unpaired message to any device within rangeuntil the communication session is established or may cause transmissionof the unpaired message in response to user input. In block 1004, themethod may include processing data input to the remote control. In block1006, the method may include causing transmission of a pairing requestto a device, the pairing request message comprising remote controladdress data and the input data. In block 1008, the method may includereceiving a pairing response message from the device to establish acommunication session with the device. For example, the communicationsession may be established to permit the remote control and the deviceto communicate using RF transmissions. The method may then end, orreturn to one of the previous blocks.

One or more aspects of the above examples may be embodied incomputer-executable instructions, such as in one or more programmodules, executed by one or more computers or other devices such as byany of the blocks in the figures. Generally, program modules includeroutines, programs, objects, components, data structures, etc. thatperform particular tasks or implement particular abstract data typeswhen executed by a processor in a computer or other device. The computerexecutable instructions may be stored on a computer readable medium suchas a hard disk, optical disk, removable storage media, solid statememory, RAM, etc. As will be appreciated by one of skill in the art, thefunctionality of the program modules may be combined or distributed asdesired in various embodiments. In addition, the functionality may beembodied in whole or in part in firmware or hardware equivalents such asintegrated circuits, field programmable gate arrays (FPGA), applicationspecific integrated circuits (ASIC), and the like.

While embodiments have been described with respect to specific examplesincluding presently preferred modes of carrying out the invention, thoseskilled in the art will appreciate that there are numerous variationsand permutations of the above described systems and techniques. Thus,the spirit and scope of the invention should be construed broadly as setforth in the appended claims.

The invention claimed is:
 1. A method comprising: determining, by aremote control device in communication with an output device, a rate ofsignal pulses sent from the output device to a third device, wherein thethird device is synchronized, based on the rate of signal pulses, withthe output device to facilitate viewing, via the third device, of amedia asset and wherein the rate of the signal pulses corresponds to aframe rate of the media asset; determining, based at least in part onthe rate of the signal pulses, a transmission interval occurring betweensequential signal pulses; detecting, by the remote control device, auser selection of a command for the output device; determining, that thecommand is incapable of being sent during the transmission interval; andsending, based the determination that the command is incapable of beingsent during the transmission interval, a portion of the command.
 2. Themethod of claim 1, further comprising: receiving a message indicatingthe rate of the signal pulses sent by the output device, whereindetermining the rate of the signal pulses comprises determining the rateof the signal pulses based on the received message.
 3. The method ofclaim 1, wherein determining the rate of the signal pulses comprises:detecting a frequency of receipt of the signal pulses; and determiningthe rate of the signal pulses based on the frequency.
 4. The method ofclaim 1, wherein determining the command is capable of being sent duringthe transmission interval comprises: determining that a time required tosend the command exceeds the transmission interval; and fragmenting thecommand into at least two command fragments, wherein sending the portionof the command comprises sending a first fragment of the at least twocommand fragments.
 5. The method of claim 4, further comprisingcombining at least two commands to reduce an amount of data sent betweenthe remote control device and the output device.
 6. The method of claim4, wherein each of the at least two command fragments comprises a headerproviding sequencing information.
 7. The method of claim 1, furthercomprising: detecting, by the remote control device, selection ofadditional commands; storing, by the remote control device, theadditional commands as buffered commands; and based on determining thatan amount of the buffered commands exceeds a threshold, sending, by theremote control device, a request to reduce the rate of the signalpulses.
 8. The method of claim 1, wherein the output device comprises athree-dimensional display device.
 9. A method comprising: sending, by anoutput device to a second computing device, signal pulses at a pulserate corresponding to a frame rate of a media asset to be displayed,wherein a clock of the second computing device is synchronized with theoutput device based on the pulse rate to facilitate viewing of the mediaasset; sending, to a remote control device, a message indicating thepulse rate and at least a time duration of a transmission intervalbetween two of the signal pulses; and receiving, from the remote controldevice and during the transmission interval, a portion of a commandsignal.
 10. The method of claim 9, wherein the message further indicatesa time duration of each of the signal pulses.
 11. The method of claim 9,wherein the message further indicates that a guard band precedes each ofthe signal pulses and follows each of the signal pulses, and wherein themessage indicates a time duration of the guard band.
 12. The method ofclaim 11, further comprising adjusting the pulse rate.
 13. The method ofclaim 9, further comprising: processing a plurality of packets receivedfrom the remote control device; determining that the plurality ofpackets contains a plurality of fragments of a command; andreconstructing the command from the plurality of fragments.
 14. Themethod of claim 9, wherein the signal pulses comprise infrared signalpulses.
 15. The method of claim 14, further comprising: sending, to theremote control device, a message causing the remote control device totransition from using infrared transmissions to using radio frequencytransmissions.
 16. The method of claim 9, further comprising: receiving,by the output device from the remote control device, a request to reducethe pulse rate; and after receiving the request to reduce the pulserate, sending, by the output device, signal pulses at a reduced pulserate, wherein the reduced pulse rate is less than the frame rate of themedia asset.
 17. A method comprising: determining, by a remote controldevice, a rate of signal pulses sent by an output device to a seconddevice and being associated with a frame rate of a media asset to bedisplayed, wherein the second device is synchronized with the outputdevice based on the rate of signal pulses to facilitate viewing of themedia asset; determining, based at least in part on the rate of thesignal pulses, a transmission interval occurring between a first signalpulse of the signal pulses and a second signal pulse of the signalpulses; detecting a user selection of a command for the output device;determining a time interval for sending an entirety of the command;comparing the determined time interval for sending the entirety of thecommand to the transmission interval; and after determining that thetime interval for sending the entirety of the command exceeds thetransmission interval: fragmenting the command into a plurality ofcommand segments comprising at least a first command segment and asecond command segment; sending, during the transmission interval, thefirst command segment; and refraining from sending, during thetransmission interval, the second command segment.
 18. The method ofclaim 17, further comprising: receiving a message indicating the rate ofthe signal pulses sent by the output device, wherein determining therate of the signal pulses comprises determining the rate of the signalpulses based on the received message.
 19. The method of claim 17,wherein the rate of the signal pulses varies.
 20. The method of claim17, further comprising: detecting selection of additional commands;storing the additional commands as buffered commands; and based ondetermining that an amount of the buffered commands exceeds a threshold,sending a request to reduce the rate of the signal pulses.